Nowadays, there are more and more uses of computer software applications (programs) where the user may also be interested in learning information about the software code which is executed on his computing device. This is, for instance, the case with DRM (Digital Rights Management) applications, used to protect songs, games, applications, or any digital content, against fraud (such illegal copying, spreading content over P2P networks, etc.). Such a user could be interested in (illegally) trying to copy songs, applications or games in order to redistribute them.
Of course, the role of the content distributor or owner is to protect the content against such malicious users (“hackers”). Various known means are used to achieve this goal. One is code obfuscation. Code obfuscation is a well known technique where source code in a computer programming language is made difficult to understand.